package com.aasa.siccosap.service;

import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.List;

import com.aasa.siccosap.bean.ParametrosGenerales;
import com.aasa.siccosap.bean.ValorCombo;
import com.aasa.siccosap.dao.AuxiliarDAO;
import com.aasa.siccosap.dao.accesoDaoException;

public class AuxiliarService {

	AuxiliarDAO auxiliarDAO;
	
	public AuxiliarService() {
		try {
			auxiliarDAO = new AuxiliarDAO();
		} catch (accesoDaoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public List<ValorCombo> obtenerValoresObrasCliente(ParametrosGenerales parametros) throws Exception{
		List<ValorCombo> aobjL_listaObras = new ArrayList<ValorCombo>();
		
		aobjL_listaObras = auxiliarDAO.obtenerValoresObrasCliente(parametros);
		
		return aobjL_listaObras;
	}
	
	public List<ValorCombo> obtenerValoresEjercicio(){
		List<ValorCombo> listaEjercicio = new ArrayList<ValorCombo>();
		
		Calendar calendario = Calendar.getInstance();
		calendario.setTime(new Date());
		calendario.add(Calendar.YEAR, 2);
		
		DateFormat formateador = new SimpleDateFormat("yyyy");
		
		String anho = formateador.format(calendario.getTime());
		
		
		while(!anho.equals("2001")){
			calendario.add(Calendar.YEAR, -1);
			anho = formateador.format(calendario.getTime());
			listaEjercicio.add(new ValorCombo(anho,anho));		
		}
		
		Collections.sort(listaEjercicio);
		
		return listaEjercicio;
	}
	
	public List<ValorCombo> obtenerValoresPeriodo(){
		List<ValorCombo> listaPeriodo = new ArrayList<ValorCombo>();
		
		for(int i=1;i<=12;i++){
			String numero = String.valueOf(i);
			String periodo = (numero.length()==1)?"0"+numero:numero;
			listaPeriodo.add(new ValorCombo(periodo,periodo));
		}
				
		return listaPeriodo;
	}
	
}
